package cn.car.service;

import cn.car.domains.entity.SysUserEntity;
import cn.car.domains.bo.QueryUserBo;

import java.util.List;

public interface SysUserService {

    /**
     * 新增用户
     * @param user 用户实体
     * @return 新增成功的用户ID
     */
    Long addUser(SysUserEntity user);

    /**
     * 根据ID查询用户
     * @param id 用户ID
     * @return 用户实体，不存在则返回null
     */
    SysUserEntity getUserById(Long id);

    /**
     * 根据用户名查询用户
     * @param username 用户名
     * @return 用户实体，不存在则返回null
     */
    SysUserEntity getUserByUsername(String username);

    /**
     * 更新用户信息
     * @param user 用户实体（必须包含ID）
     */
    void updateUser(SysUserEntity user);

    /**
     * 根据ID删除用户
     * @param id 用户ID
     */
    void deleteUser(Long id);

    /**
     * 分页查询用户信息
     */
    List<SysUserEntity> list(QueryUserBo queryUserBo);



}
